#ifndef PLATFORM_HPP
#define PLATFORM_HPP

#include <string>
#include <SDL/SDL.h>
#include"game_entity.hpp"

class Platform: public GameEntity
{
public:
    Platform(std::string texture_id, std::string ball_texture_id, SDL_Renderer *renderer, int x_pos, int y_pos, int width, int height, int movement_speed = 0);
    ~Platform();

    void move();
    void handle_input(SDL_Event& e);

    void update() override;
    void render() override;

    int get_movement_speed() const { return movement_speed; }
    int get_desired_width() const { return dst_w; };
    int get_desired_height() const { return dst_h; };
    int get_x_pos() const { return x_pos; };
    int get_y_pos() const { return y_pos; };


private:
    //Renderer is destroyed at end of program, so there is no need to free it in the destructor
    int movement_speed;
    int x_vel = 0;
};
#endif